package com.sam.designpattern.adapter;

import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author: Sam
 * @Date: 2022-07-22 09:35
 * @Description: 适配器客户端
 */
public class Client {

    /**
     * 原接口调用
     */
    @Test
    public void test1(){
        LogModel lm = new LogModel();
        lm.setLogId("001");
        lm.setOperateUser("admin");
        lm.setOperateTime("2022-07-22 09:00:00");
        lm.setLogContent("这是一个测试");
        List<LogModel> list = new ArrayList<>();
        list.add(lm);
        //创建操作日志文件对象
        LogFileOperateApi api = new LogFileOperate("");
        //保存日志文件
        api.writeLogFile(list);
        //读取日志文件的内容
        List<LogModel> readLog = api.readLogFile();
        System.out.println("readLog = " + readLog);
    }

    /**
     * 使用适配器进行匹配转换
     */
    @Test
    public void test2(){
        LogModel lm = new LogModel();
        lm.setLogId("001");
        lm.setOperateUser("admin");
        lm.setOperateTime("2022-07-22 09:00:00");
        lm.setLogContent("这是一个测试");
        //创建操作日志文件对象
        LogFileOperateApi logFileOperateApi = new LogFileOperate("");
        LogDbOperateApi api = new Adapter(logFileOperateApi);
        //保存日志文件
        api.createLog(lm);
        //读取日志文件的内容
        List<LogModel> allLog = api.getAllLog();
        System.out.println("allLog = " + allLog);
    }

}
